package com.flxz.forum.mapper;

import java.util.List;
import com.flxz.forum.domain.ForumTopic;
import com.flxz.forum.domain.ForumReply;

/**
 * 讨论主题Mapper接口
 * 
 * @author fl
 * @date 2025-09-14
 */
public interface ForumTopicMapper 
{
    /**
     * 查询讨论主题
     * 
     * @param topicId 讨论主题主键
     * @return 讨论主题
     */
    public ForumTopic selectForumTopicByTopicId(Long topicId);

    /**
     * 查询讨论主题列表
     * 
     * @param forumTopic 讨论主题
     * @return 讨论主题集合
     */
    public List<ForumTopic> selectForumTopicList(ForumTopic forumTopic);

    /**
     * 新增讨论主题
     * 
     * @param forumTopic 讨论主题
     * @return 结果
     */
    public int insertForumTopic(ForumTopic forumTopic);

    /**
     * 修改讨论主题
     * 
     * @param forumTopic 讨论主题
     * @return 结果
     */
    public int updateForumTopic(ForumTopic forumTopic);

    /**
     * 删除讨论主题
     * 
     * @param topicId 讨论主题主键
     * @return 结果
     */
    public int deleteForumTopicByTopicId(Long topicId);

    /**
     * 批量删除讨论主题
     * 
     * @param topicIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteForumTopicByTopicIds(Long[] topicIds);

    /**
     * 批量删除讨论回复
     * 
     * @param topicIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteForumReplyByTopicIds(Long[] topicIds);
    
    /**
     * 批量新增讨论回复
     * 
     * @param forumReplyList 讨论回复列表
     * @return 结果
     */
    public int batchForumReply(List<ForumReply> forumReplyList);
    

    /**
     * 通过讨论主题主键删除讨论回复信息
     * 
     * @param topicId 讨论主题ID
     * @return 结果
     */
    public int deleteForumReplyByTopicId(Long topicId);
}
